Snowplow Node Tracker
Add Snowplow Tracking to your Node.js Application with @snowplow/node-tracker
.
Maintainer quick start
Part of the Snowplow JavaScript Tracker monorepo.
Build with Node.js (18 - 20) and Rush.
Setup repository
npm install -g @microsoft/rush
git clone https://github.com/snowplow/snowplow-javascript-tracker.git
rush update
Package Installation
With npm:
npm install @snowplow/node-tracker
Usage
Initialize your tracker with your desired configuration:
import { tracker, gotEmitter } from '@snowplow/node-tracker';
const e = gotEmitter(
'collector.mydomain.net',
snowplow.HttpProtocol.HTTPS,
8080,
snowplow.HttpMethod.POST,
5
);
const t = tracker(e, 'myTracker', 'myApp', false);
Then use the track
function from this package, along with the buildX
functions to send events to your configured emitters:
import {
buildSelfDescribingEvent,
buildPageView
} from '@snowplow/node-tracker';
const context = [
{
schema: 'iglu:com.acme/user/jsonschema/1-0-0',
data: {
type: 'tester',
},
},
];
t.track(
buildPageView({ pageUrl: 'http://www.example.com', pageTitle: 'example page', referrer: 'http://google.com' }),
context
);
const eventJson = {
schema: 'iglu:com.acme/viewed_product/jsonschema/1-0-0',
data: {
price: 20,
},
};
track.track(buildSelfDescribingEvent({ event: eventJson }), context);
To enable success and failure callback debugging, run your application with NODE_DEBUG=snowplow
.
Copyright and license
Licensed and distributed under the BSD 3-Clause License (An OSI Approved License).
Copyright (c) 2022 Snowplow Analytics Ltd.
All rights reserved.